Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Displaying Raw • Download


meshchatx/src/frontend/js/rnode/RNodeUtils.js 4b9c16f6c3c8de59bf94da550189b2484b396da8 (4b9c16f6) Text, 1.68 KB

Tff7b72export Tff7b72default Tff7b72class Te6edf3RNodeUtils Tb4b4b4{
T8b949e/**
* Waits for the provided milliseconds, and then resolves.
* @param millis
* @returns {Promise<void>}
*/
Tff7b72static Tff7b72async Te6edf3sleepMillisTb4b4b4(Te6edf3millisTb4b4b4) Tb4b4b4{
Tff7b72await Tff7b72new Tffa657PromiseTb4b4b4(Tb4b4b4(Te6edf3resolveTb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3setTimeoutTb4b4b4(Te6edf3resolveTb4b4b4, Te6edf3millisTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}

Tff7b72static Te6edf3bytesToHexTb4b4b4(Te6edf3bytesTb4b4b4) Tb4b4b4{
Tff7b72for Tb4b4b4(Tff7b72var Te6edf3hex Tff7b72= Tb4b4b4[Tb4b4b4]Tb4b4b4, Te6edf3i Tff7b72= T79c0ff0Tb4b4b4; Te6edf3i Tff7b72< Te6edf3bytesTb4b4b4.Te6edf3lengthTb4b4b4; Te6edf3iTff7b72++Tb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3current Tff7b72= Te6edf3bytesTb4b4b4[Te6edf3iTb4b4b4] Tff7b72< T79c0ff0 Tff7b72? Te6edf3bytesTb4b4b4[Te6edf3iTb4b4b4] Tff7b72+ T79c0ff256 Tff7b72: Te6edf3bytesTb4b4b4[Te6edf3iTb4b4b4]Tb4b4b4;
Te6edf3hexTb4b4b4.Te6edf3pushTb4b4b4(Tb4b4b4(Te6edf3current Tff7b72>>> T79c0ff4Tb4b4b4)Tb4b4b4.Te6edf3toStringTb4b4b4(T79c0ff16Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3hexTb4b4b4.Te6edf3pushTb4b4b4(Tb4b4b4(Te6edf3current Tff7b72& T79c0ff0xfTb4b4b4)Tb4b4b4.Te6edf3toStringTb4b4b4(T79c0ff16Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3hexTb4b4b4.Te6edf3joinTb4b4b4(Ta5d6ff""Tb4b4b4)Tb4b4b4;
Tb4b4b4}

Tff7b72static Te6edf3md5Tb4b4b4(Te6edf3dataTb4b4b4) Tb4b4b4{
T8b949e// We will use CryptoJS if available on window, or we might need to import it.
T8b949e// For now, let's assume we will import it or it will be provided.
T8b949e// In the original it was using CryptoJS.MD5
Tff7b72if Tb4b4b4(Tff7b72typeof Tffa657window Tff7b72!== Ta5d6ff"undefined" Tff7b72&& Tffa657windowTb4b4b4.Te6edf3CryptoJSTb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3bytes Tff7b72= Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tff7b72const Te6edf3hash Tff7b72= Tffa657windowTb4b4b4.Te6edf3CryptoJSTb4b4b4.Te6edf3MD5Tb4b4b4(Tffa657windowTb4b4b4.Te6edf3CryptoJSTb4b4b4.Te6edf3encTb4b4b4.Te6edf3HexTb4b4b4.Te6edf3parseTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3bytesToHexTb4b4b4(Te6edf3dataTb4b4b4)Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72for Tb4b4b4(Tff7b72var Te6edf3i Tff7b72= T79c0ff0Tb4b4b4; Te6edf3i Tff7b72< Te6edf3hashTb4b4b4.Te6edf3sigBytesTb4b4b4; Te6edf3iTff7b72++Tb4b4b4) Tb4b4b4{
Te6edf3bytesTb4b4b4.Te6edf3pushTb4b4b4(Tb4b4b4(Te6edf3hashTb4b4b4.Te6edf3wordsTb4b4b4[Te6edf3i Tff7b72>>> T79c0ff2Tb4b4b4] Tff7b72>>> Tb4b4b4(T79c0ff24 Tff7b72- Tb4b4b4(Te6edf3i Tff7b72% T79c0ff4Tb4b4b4) Tff7b72* T79c0ff8Tb4b4b4)Tb4b4b4) Tff7b72& T79c0ff0xffTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3bytesTb4b4b4;
Tb4b4b4}
Tff7b72throw Tff7b72new Tf85149ErrorTb4b4b4(Ta5d6ff"CryptoJS not found"Tb4b4b4)Tb4b4b4;
Tb4b4b4}

Tff7b72static Te6edf3packUInt32BETb4b4b4(Te6edf3valueTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3buffer Tff7b72= Tff7b72new Tffa657ArrayBufferTb4b4b4(T79c0ff4Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3view Tff7b72= Tff7b72new Tffa657DataViewTb4b4b4(Te6edf3bufferTb4b4b4)Tb4b4b4;
Te6edf3viewTb4b4b4.Te6edf3setUint32Tb4b4b4(T79c0ff0Tb4b4b4, Te6edf3valueTb4b4b4, Tff7b72falseTb4b4b4)Tb4b4b4;
Tff7b72return Tff7b72new Tffa657Uint8ArrayTb4b4b4(Te6edf3bufferTb4b4b4)Tb4b4b4;
Tb4b4b4}

Tff7b72static Te6edf3unpackUInt32BETb4b4b4(Te6edf3byteArrayTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3buffer Tff7b72= Tff7b72new Tffa657Uint8ArrayTb4b4b4(Te6edf3byteArrayTb4b4b4)Tb4b4b4.Te6edf3bufferTb4b4b4;
Tff7b72const Te6edf3view Tff7b72= Tff7b72new Tffa657DataViewTb4b4b4(Te6edf3bufferTb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3viewTb4b4b4.Te6edf3getUint32Tb4b4b4(T79c0ff0Tb4b4b4, Tff7b72falseTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────